home *** CD-ROM | disk | FTP | other *** search
-
-
-
- eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff)))) OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
-
-
-
- NNNNAAAAMMMMEEEE
- eeeevvvveeeennnnttttVVVViiiieeeewwww,,,, eeeevvvvpppppppp,,,, eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr,,,, eeeevvvvhhhhiiiisssstttt,,,, eeeevvvvggggrrrraaaapppphhhh,,,, eeeevvvvmmmmeeeerrrrggggeeee - OpenGL Performer
- real-time event generator/viewer.
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- eeeevvvvpppppppp [ options ] infile.def
-
- eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr infile.timefile
-
- eeeevvvvhhhhiiiisssstttt infile.timefile event_name_1 [s|e event_name_2 s|e]
-
- eeeevvvvggggrrrraaaapppphhhh infile.timefile event_name info_name
-
- eeeevvvvmmmmeeeerrrrggggeeee infile1.timefile infile2.timefile
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This page describes tools for adding and viewing real-time events in a
- Performer program. In describes the following programs:
-
- eeeevvvvpppppppp -
- An Event Pre-Processor. This program takes a description of
- user events and generates a C program adding the new events
- into an application programs.
-
- eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr -
- A viewing program for captured events.
-
- eeeevvvvhhhhiiiisssstttt -
- A display program for generating histograms of event durations.
- Usually activated from within eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr.
-
- eeeevvvvggggrrrraaaapppphhhh -
- A display program for plotting functions of event information
- slots.
-
- eeeevvvvmmmmeeeerrrrggggeeee -
- A utility program for merging event files.
-
-
-
- eeeevvvvpppppppp ---- EEEEvvvveeeennnntttt PPPPrrrreeee----PPPPrrrroooocccceeeessssssssoooorrrr....
- eeeevvvvpppppppp is a pre-processor for adding user-events to an OpenGL Performer
- program. It takes an text file describing a set of new event types. It
- produces a C source file and a C include file. Compiling and linking the
- new C source file in your program enables recording the newly generated
- events.
-
- Here's an example of an eeeevvvvpppppppp input file:
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff)))) OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
-
-
-
- file "out.timefile";
- max_events 10000;
- c_file "myEvents.c";
- h_file "myEvents.h";
-
- active true;
-
- conditional_sampling true;
-
- malloc "pfSharedMalloc";
-
- group "my_APP" 0x000001;
- group "my_Cull_CB" 0x000002;
-
- group "my_APP"
- {
- event "my_pfFrame";
- event "my_pfSync";
- };
-
- group "my_Cull_CB"
- {
- event "my_Cull_Group_CB"
- {
- size 5;
- };
-
- event "my_Cull_DCS_CB"
- {
- size 5;
- };
- };
-
- event "myCB"
- {
- info "myInfo"
- {
- type int;
- name "myInfoName";
- };
- }
-
-
-
-
- The above file defines two groups of events. Each group contains two
- events. In the second group (my_Cull_CB), each event is an array of five
- events. This is useful for generating the same event types from different
- processes. In this case, each CULL process will generate events on
- callbacks to pfGroups and pfDCS. The above file also defines an event
- called _m_y_C_B which doesn't belong to any group. This event contains a
- single information slot of type integer on it.
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff)))) OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
-
-
-
- The _f_i_l_e directive specifies the output file name. If the character ???? is
- used instead of a file name, the generated macros EEEEVVVVEEEENNNNTTTT____WWWWRRRRIIIITTTTEEEE and
- EEEEVVVVEEEENNNNTTTT____WWWWRRRRIIIITTTTEEEE____AAAALLLLLLLL will require a file name as a parameter.
-
- The _m_a_x__e_v_e_n_t_s directive specifies the maximum number of events that will
- be allocated and captured.
-
- The _c__f_i_l_e and _h__f_i_l_e directives specify the file names for the source
- code files that eeeevvvvpppppppp generates.
-
- The _a_c_t_i_v_e directive may be _t_r_u_e or _f_a_l_s_e. It determines whether eeeevvvvpppppppp
- will generate empty macros. This is useful when trying to avoid
- generating any macros without changing any application source code.
-
- The _c_o_n_d_i_t_i_o_n_a_l__s_a_m_p_l_i_n_g directive can be _t_r_u_e or _f_a_l_s_e. If _f_a_l_s_e, events
- will be captured regardless of the call to EEEEVVVVEEEENNNNTTTT____SSSSAAAAMMMMPPPPLLLLEEEE____OOOONNNN.
-
- The _m_a_l_l_o_c directive allows defining an alternative memory allocation for
- internal eventView use. If using anything other than "pfSharedMalloc" as
- the _m_a_l_l_o_c value, the application must supply a function receiving an int
- and returning a void* pointer to newly allocated memory. pfSharedMalloc
- is a built in function that allocates memory off the Performer shared
- arena.
-
- When defining a group of events, one must first define a group mask. The
- _g_r_o_u_p directive accept a group name and a mask. Masks may overlap. This
- is useful for defining hierarchies of groups.
-
- An _e_v_e_n_t directive is used for defining single events. They may be inside
- or outside the definition of a group. And event should have a name, and
- may have a size and information slots. In the example above, an event of
- size 5 is effectively an array of five independent events. This is useful
- for creating per-pipe events.
-
-
-
- eeeevvvvpppppppp ccccoooommmmmmmmaaaannnndddd lllliiiinnnneeee ooooppppttttiiiioooonnnnssss
- -h Print usage string.
-
- -c Compile generated files. This option can make Makefiles
- simpler.
-
- -n Set all the events in the input file to inactive. The macros
- generated for all events will be empty. This flag use useful
- when trying to disable the instrumentation of a source file
- without removing the macros.
-
-
-
- eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr ---- aaaa ggggrrrraaaapppphhhhiiiicccc eeeevvvveeeennnntttt ddddiiiissssppppllllaaaayyyy
- eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr generates a graphic display of captures events. Each line in
- its display contains events of a single type. The horizontal axis of the
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff)))) OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
-
-
-
- display denotes the time.
-
- An event starts at a vertical bar from the bottom of the event line to
- its middle, continues horizontally and ends as a vertical bar from the
- middle of the event line to its top.
-
-
- eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr kkkkeeeeyyyybbbbooooaaaarrrrdddd////mmmmoooouuuusssseeee ccccoooonnnnttttrrrroooollllssss
-
- Up/Down arrows -
- Change the zoom factor of the display.
-
- Right/Left arrows -
- Shift display window across the captured data.
-
- Left Mouse Button -
- Pick an event start/end. Clicking on one event start/end and
- releasing on another, prints the time difference between the
- two on the top of the display.
-
- Middle Mouse Button -
- Drag the event display window across the captured data.
-
- Right Mouse Button -
- If the mouse is on an event line and the event has information
- fields, allow toggling their display. If the mouse is not on
- an event line, toggle events displayed or groups displayed.
-
- hhhh key -
- Bring up a histogram program (eeeevvvvhhhhiiiisssstttt) and run it on the
- currently selected event.
-
- ffff key -
- If the event line under the mouse has information slots, ask to
- pick a slot. Bring up a function plot program (eeeevvvvggggrrrraaaapppphhhh) and
- run it on the selected information slot on the current event.
- EEEESSSSCCCC - Exits eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr.
-
-
- eeeevvvvhhhhiiiisssstttt kkkkeeeeyyyybbbbooooaaaarrrrdddd ccccoooonnnnttttrrrroooollllssss....
-
- Moving the mouse across the window prints how many samples are on the
- histogram bar under the mouse and what time value it represents.
-
-
- Up/Down arrows -
- Change the resolution of the histogram.
-
- Right/Left arrows -
- Change the percentage of samples on both extremes of the
- histogram that we ignore (Displayed as _g_a_r_b_a_g_e on the top of
- the display).
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff)))) OOOOppppeeeennnnGGGGLLLL PPPPeeeerrrrffffoooorrrrmmmmeeeerrrr 2222....4444 RRRReeeeffffeeeerrrreeeennnncccceeee PPPPaaaaggggeeeessss eeeevvvveeeennnnttttVVVViiiieeeewwww((((1111ppppffff))))
-
-
-
- EEEESSSSCCCC -
- Exits eeeevvvvhhhhiiiisssstttt.
-
-
- eeeevvvvggggrrrraaaapppphhhh ---- ppppllllooootttt eeeevvvveeeennnntttt iiiinnnnffffoooo....
- eeeevvvvggggrrrraaaapppphhhh is a display program for plotting the information slot of a given
- event type. It is usually activated by eeeevvvvaaaannnnaaaallllyyyyzzzzeeeerrrr.
-
- eeeevvvvggggrrrraaaapppphhhh kkkkeeeeyyyybbbbooooaaaarrrrdddd////mmmmoooouuuusssseeee ccccoooonnnnttttrrrroooollllssss
-
-
- Up/Down arrows -
- Change the resolution of the plot.
-
- Right/Left arrows -
- Translate plot horizontally.
-
- Middle mouse button -
- Drag plot horizontally.
-
-
- NNNNOOOOTTTTEEEESSSS
- EventView was originally written by Ran Yakir from BVR Systems.
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ppppffffIIIInnnniiiittttiiiiaaaalllliiiizzzzeeeeEEEEvvvveeeennnnttttssss, ppppffffRRRReeeesssseeeettttEEEEvvvveeeennnnttttssss, ppppffffEEEEvvvveeeennnnttttSSSSaaaammmmpppplllleeeeOOOOnnnn, ppppffffEEEEvvvveeeennnnttttSSSSaaaammmmpppplllleeeeOOOOffffffff,
- ppppffffWWWWrrrriiiitttteeeeEEEEvvvveeeennnnttttssss
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-